package com.kinon.bs_app.utils.http;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Author by Zack, Email zackzeng@qq.com, Date on 2018/11/15 0015.
 * PS: Not easy to write code, please indicate.
 */

public interface RequestApi {

    /**
     * 登录验证
     * @param phone
     * @param password
     * @param type
     * @param model
     * @return
     */
    @FormUrlEncoded
    @POST("passport/login")
    Call<String> login(@Field("phone") String phone,
                       @Field("password") String password,
                       @Field("type") String type,  // 1网页，2安卓，3IOS
                       @Field("model") String model);

    /**
     * 发送注册 验证码
     * @param phone
     * @return
     */
    @FormUrlEncoded
    @POST("passport/sendCode_APP")
    Call<String> sendCode_APP(@Field("phone") String phone);

    /**
     * 保存用户注册信息
     * @param phone
     * @param password
     * @param code
     * @return
     */
    @FormUrlEncoded
    @POST("passport/save_APP")
    Call<String> save_APP(@Field("phone") String phone,
                          @Field("password") String password,
                          @Field("code") String code    // 邀请码 选填
    );

    /**
     * 发送忘记密码 验证码
     * @param phone
     * @return
     */
    @FormUrlEncoded
    @POST("passport/sendResetCode_APP")
    Call<String> sendResetCode_APP(@Field("phone") String phone);

    /**
     * 更新用户密码
     * @param phone
     * @param password
     * @return
     */
    @FormUrlEncoded
    @POST("passport/updatePassword_APP")
    Call<String> updatePassword_APP(@Field("phone") String phone,
                                    @Field("password") String password);

    /**
     * 返回个人资料
     * @param token
     * @return
     */
    @FormUrlEncoded
    @POST("user/userinfo")
    Call<String> userinfo(@Field("token") String token);

    /**
     * 返回套餐
     * @param token
     * @return
     */
    @FormUrlEncoded
    @POST("/user/getPackge")
    Call<String> getPackage(@Field("token") String token);

    /**
     * 提交充值申请
     * @param pack
     * @param address
     * @return
     */
    @FormUrlEncoded
    @POST("user/submit")
    Call<String> submit(@Field("package") String pack,
                        @Field("address") String address);

    /**
     * 返回充值记录
     * @param token
     * @param page
     * @param offset
     * @return
     */
    @FormUrlEncoded
    @POST("user/getRechargeRecord")
    Call<String> getRechargeRecord(@Field("token") String token,
                                   @Field("page") String page,
                                   @Field("offset") String offset);

    /**
     * 上涨提醒
     * @param token
     * @param page
     * @param offset
     * @return
     */
    @FormUrlEncoded
    @POST("data/index7")
    Call<String> upTip(@Field("token") String token,
                       @Field("page") int page,
                       @Field("offset") int offset);

    /**
     * 下跌提醒
     * @param token
     * @param page
     * @param offset
     * @return
     */
    @FormUrlEncoded
    @POST("data/index8")
    Call<String> downTip(@Field("token") String token,
                         @Field("page") int page,
                         @Field("offset") int offset);
}
